// 目标：在回调函数外部，获取主体任务执行的结果
// 创建 Promise 对象，封装主体任务要执行的操作
// await 关键词的作用①：强制主线程等待子线程执行完
// await 关键词的作用②：在子线程执行完成后，很自然的拿到主体任务执行的结果并返回（返回给主线程）
// 总体效果：加上 await 关键词之后，原来异步的多线程操作，就成了同步的
let taskResult = await new Promise((resolve)=>{
    console.log("[子线程][回调函数内部] 开始执行~~~")

    setTimeout(()=>{
        let computeResult = 50 / 10;
        resolve(computeResult);
        console.log("[子线程][回调函数内部] 结束执行~~~")
    }, 5000);

});

console.log("[主线程][回调函数外部] taskResult = " + taskResult)